要知道一個東西就要先了解他的最小組成物是什麼,Pod就是在這裡最小的單元
可以想成是一個API 一個Service 一個 Application
而在這裡稱為 一組"容器(container)"(一個或多個容器) --想成實體 就是村莊 裡面有一戶或多戶(有點太實體)
談到容器 很多人就想到 Docker 沒錯就是那隻鯨魚(docker的代表動物)
之後也會分享介紹Docker !
同一個pod 中的Containers 可以共用相同資源、網路等,透過port number來傳輸
白話文一點講法就是同一個村莊中, 各戶可以享受著同樣的WIFI 、水管、天線等資源 ,他們都用相同Kyle 這組 WIFI有繳管理費都可以享受(誤)
每個Pod 都有一個 Uniqlo code 身分證的概念
而這村莊總是要對外不能與世隔絕 ,他有一個名稱就是.yml
我們就像創世神一樣可以建造一個屬於自己的村莊也可以管理自己的村莊,也就是建造自己的Pod跟管理Pod ,在K8S世界中,我們可以直接使用獨立的 Pod That's no problem
但大家通常不會這樣做
若 Pod 出問題了 K8S並無法幫忙恢復正常狀態
或是Pod因為資源不足死去了,也不會自己轉移到其他地點重新啟動
這有點難用村莊白話文介紹....
所以改用都市!! 都市不會只存在一個村莊,會有很多個相同的村莊相互cover
當一個村出事了,還有另一個村莊能夠生產來維持整個都市生活
組成了controller ,負責全部的邏輯與決策,包含了kube-apiserver(功能就是API,Kubernets的控制服務)、etcd(Kubernetes Key的儲存系統。)、kube- scheduler(將New Pod 分派至不同的節點)、kube-controller-manager(負責controller的管理)
kubelet、kube-proxy、container runtime:
-1. kubelet: 管理 Pod 裡的container,根據容器的 spec 定義,確保運行狀態如weblogic
-2. kube-proxy: 處理 Kubernetes 主機上的網路規則
-3. container runtime: 像是Docker、rkt
先暫定講到這裡,明天再用技術面討論 Pod 跟Controller